package com.sunxueqi.project.system.vo;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.sunxueqi.common.constant.StatusConstants;
import com.sunxueqi.framework.web.vo.BaseVO;

import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author 
 * 
 */
@Data
@NoArgsConstructor
//序列化Json的时候,如果是Null则忽略
@JsonInclude(JsonInclude.Include.NON_NULL)
public class User extends BaseVO implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
    private String id;

    /**
     * 用户名
     */
    private String username;

    /**
     * 用户昵称
     */
    private String nickname;

    /**
     * 用户类型（）
     */
    private String userType;

    /**
     * 用户邮箱
     */
    private String email;

    /**
     * 手机号码
     */
    private String phone;

    /**
     * 用户头像
     */
    private String avatar;

    /**
     * 用户性别
     */
    private String gender;

    /**
     * 密码
     */
    private String password;

    /**
     * 加密盐
     */
    private String salt;

    /**
     * 帐号状态（1正常，0停用）
     */
    private String status;

    /**
     * 最后登录ip
     */
    private String loginIp;

    /**
     * 最后登录时间
     */
    private Date loginDate;
    
    /**
     * 是否为管理员，是则返回true
     * @return
     */
	public boolean isAdmin() {
		return isAdmin(this.userType);
	}
	
	public static boolean isAdmin(String userType) {
		return userType != null && userType.equals(StatusConstants.IS_ADMIN);
	}
}